Controller for DC brushless motor

ABSTRACT

A motor controller implements alternately a feedback control for d axis current and a feedback control for q axis current using an estimate value of a rotor angle in different control cycles. Then, the motor controller calculates a sine reference value which corresponds to a sine value of an angle which is twice a phase difference between an actual value and an estimate value of a rotor angle and a cosine reference value which corresponds to a cosine value of the angle which is twice the phase difference based on variations of the d axis actual current and q axis actual current and levels of d axis voltage and q axis voltage in a control cycle in which feedback controls are implemented for d axis current and q axis current and detects a rotor angle using the sine reference value and the cosine reference value so calculated.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention relates to a controller for a DC brushless motor which can detects the rotor angle of a DC brushless motor without using a rotor position detecting sensor and control the operation of the motor.

[0003] 2. Description of the Related Art

[0004] In order to obtain a desired torque by energizing a DC brushless motor, a voltage needs to be applied to an armature in an appropriate phase which corresponds to an electrical angle (hereinafter, referred to as a rotor angle) of a rotor having magnetic poles. With a view to reducing costs for a DC brushless motor and a motor drive unit by omitting a position detecting sensor for detecting the rotor angle, there have been proposed many methods for detecting the rotor angle with using no position detecting sensor.

[0005] For example, Japanese Patent Unexamined Publication Nos. Hei. 10-323099 and Hei. 11-332279 describe methods for detecting the rotor angle of a DC brushless motor in a motor control apparatus for controlling such a DC brushless motor by a so-called dq coordinate system in which method an estimation alternating current signal voltage is applied in a direction of one of axes to thereby generate on the other axis side a current, by which the rotor angle is detected.

[0006] In addition, the inventor et al. of the present invention proposed, in US2002/0149335A1, a rotor angle detecting apparatus for detecting the rotor angle using no position detecting sensor. In the rotor angle detecting apparatus, when a high-frequency voltage is imposed on a drive voltage which is applied to three phase armatures of a salient pole-type DC brushless motor, a detection value of a current flowing to a first-phase armature and a detection value of a current flowing to a second-phase armature of the three phase armatures and a high-frequency component corresponding to the high-frequency voltage are used to calculate a sine reference value corresponding to a sine value of an angle which is twice the rotor angle of the motor and a cosine reference value corresponding to a cosine value of an angle which is twice the rotor angle of the motor.

[0007] Then, the rotor angle can be detected based on the sine reference value and the cosine reference value with good initial follow-up characteristics and with being affected little by motor parameters.

[0008] However, when imposing the high-frequency voltage on the drive voltage in order to detect the rotor angle, there may occur a case where irksome noise is generated from the motor. In addition, in order to impose an alternating current signal voltage on a drive voltage, the capacity of an inverter for outputting a drive voltage to the motor needs to be increased. Furthermore, in order to prevent the interference of a response from the motor current feedback control system with a response from the rotor angle detection system, while the response from the current feedback control system needs to be separated from the response from the rotor angle detection system by a low-pass filter, there may be caused a risk that the provision of the low-pass filter deteriorates the response from the current feedback system.

SUMMARY OF THE INVENTION

[0009] The present invention was made in view of the background described above, and an object thereof is to provide a controller for a DC brushless motor, having a function to detect a rotor angle without using a position detecting sensor by resolving various problems that occur when detecting a rotor angle by imposing a high-frequency voltage on a drive voltage.

[0010] Firstly, before the invention is described, a fundamental concept of the invention is described by reference to FIGS. 1A and 1B. As shown in FIG. 1A, in a case where a salient pole-type rotor 2 is used, a magnetic reluctance in a gap between the rotor 2 and respective armatures 3, 4, 5 of U, V, W phases changes periodically as the rotor 2 rotates. When the rotor 2 makes one revolution, the magnetic reluctance changes in two periods, i.e., when the rotor 2 makes one half of a revolution, the magnetic reluctance changes for one period. In addition, the magnetic reluctance becomes maximum when the rotor 2 is situated at a position labeled as {circle over (1)} in the figure and becomes minimum when the rotor 2 is situated at a position labeled as {circle over (2)} in the figure.

[0011]FIG. 1B is a diagram showing a typical magnetic circuit of FIG. 1A, and assume that an average value of the magnetic reluctance for one period is 0.5, then, magnetic reluctances Ru, Rv, Rw in the respective phases U, V, W are expressed by the following equations (8) to (10).

[0012] [Equation 8]

Ru=1−cos 2θ  (8) $\begin{matrix} {\left\lbrack {{Equation}\quad 9} \right\rbrack {{R\quad v} = {1 - {\cos \left( {{2\quad \theta} + {\frac{2}{3}\pi}} \right)}}}} & (9) \\ {\left\lbrack {{Equation}\quad 10} \right\rbrack {{R\quad w} = {1 - {\cos \left( {{2\quad \theta} - {\frac{2}{3}\pi}} \right)}}}} & (10) \end{matrix}$

[0013] As this occurs, the magnetic reluctance Rgu of the gap as viewed from the U phase can be obtained from the following equation (11). $\begin{matrix} {\left\lbrack {{Equation}\quad 11} \right\rbrack \begin{matrix} {{Rgu} = {{Ru} + \frac{{Rv} \cdot {Rw}}{{Rv} + {Rw}}}} \\ {= {1 + {\cos \quad 2\quad \theta} + \frac{\begin{matrix} {1 + {\cos \left( {{2\quad \theta} - {\frac{2}{3}\pi}} \right)} + {\cos \left( {{2\quad \theta} + {\frac{2}{3}\pi}} \right)} +} \\ {{\cos \left( {{2\quad \theta} - {\frac{2}{3}\pi}} \right)} \cdot {\cos \left( {{2\quad \theta} + {\frac{2}{3}\pi}} \right)}} \end{matrix}}{2 + {\cos \left( {{2\quad \theta} - {\frac{2}{3}\pi}} \right)} + {\cos \left( {{2\quad \theta} + {\frac{2}{3}\pi}} \right)}}}} \\ {= {1 + {\cos \quad 2\quad \theta} + \frac{1 - {\cos \quad 2\quad \theta} + {\frac{1}{2}\left( {{\cos \quad 4\quad \theta} + {\cos \frac{2}{3}\pi}} \right)}}{2 - {\cos \quad 2\quad \theta}}}} \\ {= \frac{8 - {\cos \frac{2}{3}\pi}}{4 - {2\cos \quad 2\quad \theta}}} \end{matrix}} & (11) \end{matrix}$

[0014] Due to this, assume that the U phase is a unit winding, a self-inductance Lu of the U phase can be obtained by the following equation (12). $\begin{matrix} {\left\lbrack {{Equation}\quad 12} \right\rbrack {{Lu} = {\frac{1}{Rgu} = \frac{4 - {2\cos \quad 2\quad \theta}}{8 - {\cos \frac{2}{3}\pi}}}}} & (12) \end{matrix}$

[0015] In addition, due to the configuration of the magnetic circuit, a mutual inductance Muw between the U and W phases and a mutual inductance Muv between the U and V phases can be obtained by the following equations (13), (14), respectively. $\begin{matrix} {\left\lbrack {{Equation}\quad 13} \right\rbrack {{Muw} = {{{- \frac{Rw}{{Rv} + {Rw}}}{Lu}} = {- \frac{2 + {2\cos \quad \left( {{2\quad \theta} + {\frac{2}{3}\pi}} \right)}}{8 - {\cos \frac{2}{3}\pi}}}}}} & (13) \\ {\left\lbrack {{Equation}\quad 14} \right\rbrack {{Muv} = {{{- \frac{Rv}{{Rv} + {Rw}}}{Lu}} = {- \frac{2 + {2\cos \quad \left( {{2\quad \theta} - {\frac{2}{3}\pi}} \right)}}{8 - {\cos \frac{2}{3}\pi}}}}}} & (14) \end{matrix}$

[0016] Similarly, self-inductances and mutual inductances of the V and W phases can be obtained, whereby, suppose that DC component of the self-inductance of each phase is 1, a variable of the DC component 1 is Δ1, and the DC component of the mutual inductance between each phase pair is m, a voltage equation of the salient poly-type DC brushless motor can be expressed by the following equation (15). $\begin{matrix} {\left\lbrack {{Equation}\quad 15} \right\rbrack \quad {\begin{pmatrix} \begin{matrix} {Vu} \\ {Vv} \end{matrix} \\ {Vw} \end{pmatrix} = {{r\quad \begin{pmatrix} \begin{matrix} {Iu} \\ {Iv} \end{matrix} \\ {Iw} \end{pmatrix}} + \frac{\quad}{t}}}\begin{pmatrix} {i - {\Delta \quad i\quad \cos \quad 2\theta}} & {m - {\Delta \quad i\quad {\cos\left( \quad {{2\theta} - {\frac{2}{3}\pi}} \right)}}} & {m - {\Delta \quad i\quad {\cos\left( \quad {{2\theta} + {\frac{2}{3}\pi}} \right)}}} \\ {m - {\Delta \quad i\quad {\cos\left( \quad {{2\theta} - {\frac{2}{3}\pi}} \right)}}} & {i - {\Delta \quad i\quad {\cos\left( \quad {{2\theta} + {\frac{2}{3}\pi}} \right)}}} & {m - {\Delta \quad i\quad \cos \quad 2\theta}} \\ {m - {\Delta \quad i\quad {\cos\left( \quad {{2\theta} + {\frac{2}{3}\pi}} \right)}}} & {m - {\Delta \quad i\quad \cos \quad 2\theta}} & {i - {\Delta \quad i\quad {\cos\left( \quad {{2\theta} - {\frac{2}{3}\pi}} \right)}}} \end{pmatrix}{\begin{pmatrix} \begin{matrix} {Iu} \\ {Iv} \end{matrix} \\ {Iw} \end{pmatrix} + {\omega \quad {Ke}\quad \begin{pmatrix} \begin{matrix} {\sin \quad \theta} \\ {\sin \left( {\theta - {\frac{2}{3}\pi}} \right)} \end{matrix} \\ {\sin \left( {\theta - {\frac{4}{3}\pi}} \right)} \end{pmatrix}}}} & (15) \end{matrix}$

[0017] where, Vu, Vv, Vw denote voltages applied to the U phase, V phase and W phase armatures, respectively, Iu, Iv, Iw denote currents flowing to the U phase, V phase and W phase armatures, respectively, r denotes electric resistances of the U phase, V phase and W phase armatures, ω denotes the electric angular velocity of the rotor 2, and Ke denotes an induced voltage constant.

[0018] Furthermore, in the event that the electric angular velocity ω is substantially 0, influences by changes in induced voltage and angular velocity of the rotor 2 are small, and the voltage drop by the resistors r are negligible, the equation (15) can be approximated by the following equation (16). $\begin{matrix} {\left\lbrack {{Equation}\quad 16} \right\rbrack \quad {\begin{pmatrix} \begin{matrix} {Vu} \\ {Vv} \end{matrix} \\ {Vw} \end{pmatrix} \approx \begin{pmatrix} {i - {\Delta \quad i\quad \cos \quad 2\theta}} & {m - {\Delta \quad i\quad {\cos\left( \quad {{2\theta} - {\frac{2}{3}\pi}} \right)}}} & {m - {\Delta \quad i\quad {\cos\left( \quad {{2\theta} + {\frac{2}{3}\pi}} \right)}}} \\ {m - {\Delta \quad i\quad {\cos\left( \quad {{2\theta} - {\frac{2}{3}\pi}} \right)}}} & {i - {\Delta \quad i\quad {\cos\left( \quad {{2\theta} + {\frac{2}{3}\pi}} \right)}}} & {m - {\Delta \quad i\quad \cos \quad 2\theta}} \\ {m - {\Delta \quad i\quad {\cos\left( \quad {{2\theta} + {\frac{2}{3}\pi}} \right)}}} & {m - {\Delta \quad i\quad \cos \quad 2\theta}} & {i - {\Delta \quad i\quad {\cos\left( \quad {{2\theta} - {\frac{2}{3}\pi}} \right)}}} \end{pmatrix}}{\frac{\quad}{t}\begin{pmatrix} \begin{matrix} {Iu} \\ {Iv} \end{matrix} \\ {Iw} \end{pmatrix}}} & (16) \end{matrix}$

[0019] Here, in case the equation (16) is rearranged to an equation by inter-phase current and voltage, the following equation (17) can be obtained. $\begin{matrix} {{{\left\lbrack {{Equation}\quad 17} \right\rbrack \quad {{\begin{pmatrix} 1 & {- 1} & 0 \\ 1 & {- 1} & 1 \end{pmatrix}\begin{pmatrix} \begin{matrix} {Vu} \\ {Vv} \end{matrix} \\ {Vw} \end{pmatrix}} = {\begin{pmatrix} {{Vu} - {Vv}} \\ {{Vw} - {Vv}} \end{pmatrix} \approx \begin{pmatrix} 1 & {- 1} & 0 \\ 1 & {- 1} & 1 \end{pmatrix}}}{{\begin{pmatrix} {l - {\Delta \quad l\quad \cos \quad 2\theta}} & {m - {\Delta \quad l\quad {\cos\left( \quad {{2\theta} - {\frac{2}{3}\pi}} \right)}}} & {m - {\Delta \quad l\quad {\cos\left( \quad {{2\theta} + {\frac{2}{3}\pi}} \right)}}} \\ {m - {\Delta \quad l\quad {\cos\left( \quad {{2\theta} - {\frac{2}{3}\pi}} \right)}}} & {l - {\Delta \quad l\quad {\cos\left( \quad {{2\theta} + {\frac{2}{3}\pi}} \right)}}} & {m - {\Delta \quad l\quad \cos \quad 2\theta}} \\ {m - {\Delta \quad l\quad {\cos\left( \quad {{2\theta} + {\frac{2}{3}\pi}} \right)}}} & {m - {\Delta \quad l\quad \cos \quad 2\theta}} & {l - {\Delta \quad l\quad {\cos\left( \quad {{2\theta} - {\frac{2}{3}\pi}} \right)}}} \end{pmatrix}\frac{\quad}{t}\begin{pmatrix} \begin{matrix} {Iu} \\ {Iv} \end{matrix} \\ {Iw} \end{pmatrix}} = \begin{pmatrix} {l - m - {\Delta \quad l\quad \left\{ {{\cos \quad 2\theta} - {\cos\left( \quad {{2\theta} - {\frac{2}{3}\pi}} \right)}} \right\}}} & {{- l} + m - {\Delta \quad l\left\{ {{\cos\left( \quad {{2\theta} - {\frac{2}{3}\pi}} \right)} - {\cos\left( \quad {{2\theta} - {\frac{2}{3}\pi}} \right)}} \right\}}} & {\quad {\Delta \quad l\left\{ {{\cos \quad 2\theta} - {\cos\left( \quad {{2\theta} + {\frac{2}{3}\pi}} \right)}} \right\}}} \\ {\Delta \quad l\quad \left\{ {{\cos\left( \quad {{2\theta} - {\frac{2}{3}\pi}} \right)} - {\cos\left( \quad {{2\theta} + {\frac{2}{3}\pi}} \right)}} \right\}} & {{- l} + m - {\Delta \quad l\quad \left\{ {{\cos \quad 2\theta} - {\cos\left( \quad {{2\theta} + {\frac{2}{3}\pi}} \right)}} \right\}}} & {l - m + {\Delta \quad l\left\{ {{\cos \quad 2\theta} - {\cos\left( \quad {{2\theta} - {\frac{2}{3}\pi}} \right)}} \right\}}} \end{pmatrix}}\begin{pmatrix} 1 & 0 \\ {- 1} & {- 1} \\ 0 & 1 \end{pmatrix}\frac{\quad}{t}\begin{pmatrix} {Iu} \\ {Iw} \end{pmatrix}} = \begin{pmatrix} {{2\left( {l - m} \right)} - {\Delta \quad l\quad \left\{ {{\cos \quad 2\theta} - {\cos\left( \quad {{2\theta} - {\frac{2}{3}\pi}} \right)} + {\cos\left( \quad {{2\theta} + {\frac{2}{3}\pi}} \right)}} \right\}}} & {l - m + {\Delta \quad l\left\{ {{\cos \quad 2\theta} + {\cos \left( {{2\quad \theta} - {\frac{2}{3}\pi}} \right)} - {2{\cos\left( \quad {{2\theta} + {\frac{2}{3}\pi}} \right)}}} \right\}}} \\ {l - m + {\Delta \quad l\left\{ {{\cos \quad 2\theta} + {\cos \left( {{2\quad \theta} - {\frac{2}{3}\pi}} \right)} - {2{\cos\left( \quad {{2\theta} + {\frac{2}{3}\pi}} \right)}}} \right\}}} & {{2\left( {l - m} \right)} + {\Delta \quad l\quad \left\{ {{2\cos \quad 2\theta} - {\cos\left( \quad {{2\theta} - {\frac{2}{3}\pi}} \right)} - {\cos\left( \quad {{2\theta} + {\frac{2}{3}\pi}} \right)}} \right\}}} \end{pmatrix}}{{\frac{\quad}{t}\begin{pmatrix} {Iu} \\ {Iw} \end{pmatrix}} = {\begin{pmatrix} {{2\left( {l - m} \right)} + {3\Delta \quad l\quad {\cos\left( \quad {{2\theta} - {\frac{2}{3}\pi}} \right)}}} & {{l - m - {3\Delta \quad l\quad {\cos\left( \quad {{2\theta} + {\frac{2}{3}\pi}} \right)}}}\quad} \\ {l - m - {3\Delta \quad l\quad {\cos\left( \quad {{2\theta} + {\frac{2}{3}\pi}} \right)}}} & {{2\left( {l - m} \right)} + {3\Delta \quad l\quad \cos \quad 2\theta}} \end{pmatrix}\frac{\quad}{t}\begin{pmatrix} {Iu} \\ {Iw} \end{pmatrix}}}} & (17) \end{matrix}$

[0020] In addition, since the inductance matrix of the equation (17) is regular, the equation (17) can be rearranged to the following equations (18), (19). $\begin{matrix} {\left\lbrack {{Equation}\quad 18} \right\rbrack \quad {\begin{pmatrix} {\frac{\quad}{t}{Iu}} \\ {\frac{\quad}{t}{Iw}} \end{pmatrix} = {K\begin{pmatrix} {{2\left( {l - m} \right)} + {3\Delta \quad l\quad \cos \quad 2\theta}} & {{{- l} + m + {3\Delta \quad l\quad {\cos\left( \quad {{2\theta} + {\frac{2}{3}\pi}} \right)}}}\quad} \\ {{- l} + m + {3\Delta \quad l\quad {\cos\left( \quad {{2\theta} + {\frac{2}{3}\pi}} \right)}}} & {{2\left( {l - m} \right)} + {3\Delta \quad l\quad \cos \quad \left( {{2\theta^{1}} - {\frac{2}{3}\pi}} \right)}} \end{pmatrix}}}\begin{pmatrix} {{Vu} - {Vv}} \\ {{Vw} - {Vv}} \end{pmatrix}} & (18) \\ {\left\lbrack {{Equation}\quad 19} \right\rbrack \quad {K = \frac{1}{{\left\{ {{2\left( {l - m} \right)} + {3\Delta \quad l\quad {\cos\left( \quad {{2\theta} - {\frac{2}{3}\pi}} \right)}}} \right\} \times \left\{ {{2\left( {l - m} \right)} + {3\Delta \quad l\quad \cos \quad 2\theta}} \right\}} - \left\{ {l - m - {3\Delta \quad l\quad {\cos\left( \quad {{2\theta} + {\frac{2}{3}\pi}} \right)}}} \right\}^{2}}}} & (19) \end{matrix}$

[0021] In addition, a three phase/dq conversion expressed by the following equations (20), (21) using an estimate value (θ{circumflex over ( )}) of the rotor angle is applied to the equation (15), in case the estimate value (θ{circumflex over ( )}) and an actual value (θ) of the rotor angle are equal to each other (θ{circumflex over ( )}=0), the following equation (22) can be obtained. $\begin{matrix} {\left\lbrack {{Equation}\quad 20} \right\rbrack {\begin{pmatrix} {\hat{V}\quad d} \\ {\hat{V}\quad q} \end{pmatrix} = {\frac{2}{3}\begin{pmatrix} {\sin \quad \hat{\theta}} & {\sin \left( {\hat{\theta} - {\frac{2}{3}\pi}} \right)} & {\sin \left( {\hat{\theta} - {\frac{4}{3}\pi}} \right)} \\ {\cos \hat{\theta}} & {\cos \left( {\hat{\theta} - {\frac{2}{3}\pi}} \right)} & {\cos \left( {\hat{\theta} - {\frac{4}{3}\pi}} \right)} \end{pmatrix}\quad \begin{pmatrix} \begin{matrix} {Vu} \\ {Vv} \end{matrix} \\ {Vw} \end{pmatrix}}}} & (20) \\ {\left\lbrack {{Equation}\quad 21} \right\rbrack {\begin{pmatrix} {\hat{I}\quad d} \\ {\hat{I}\quad q} \end{pmatrix} = {\frac{2}{3}\begin{pmatrix} {\sin \quad \hat{\theta}} & {\sin \left( {\hat{\theta} - {\frac{2}{3}\pi}} \right)} & {\sin \left( {\hat{\theta} - {\frac{4}{3}\pi}} \right)} \\ {\cos \hat{\theta}} & {\cos \left( {\hat{\theta} - {\frac{2}{3}\pi}} \right)} & {\cos \left( {\hat{\theta} - {\frac{4}{3}\pi}} \right)} \end{pmatrix}\quad \begin{pmatrix} \begin{matrix} {Iu} \\ {Iv} \end{matrix} \\ {Iw} \end{pmatrix}}}} & (21) \\ {\left\lbrack {{Equation}\quad 22} \right\rbrack {\begin{pmatrix} {\hat{V}\quad d} \\ {\hat{V}\quad q} \end{pmatrix} = {{\begin{pmatrix} {r + {\frac{\quad}{t}{Ld}}} & {{- \omega}\quad {Lq}} \\ {\omega \quad {Lq}} & {r + {\frac{\quad}{t}{Lq}}} \end{pmatrix}\begin{pmatrix} {\hat{I}\quad d} \\ {\hat{I}\quad q} \end{pmatrix}} + \begin{pmatrix} {\omega \quad {Ke}} \\ 0 \end{pmatrix}}}} & (22) \\ {\left\lbrack {{Equation}\quad 23} \right\rbrack {{Ld} = {1 - m + {\frac{3}{2}\Delta \quad l}}}} & (23) \\ {\left\lbrack {{Equation}\quad 24} \right\rbrack {{Lq} = {1 - m - {\frac{3}{2}\Delta \quad l}}}} & (24) \end{matrix}$

[0022] Here, in the event that the rotor angle (θ) in the equation (18) is an estimate value which shifts by θe from the actual value of the rotor angle, the following equations (25), (26) are established between Id{circumflex over ( )}, Iq{circumflex over ( )}, Vd{circumflex over ( )}, Vq{circumflex over ( )} which were three phase/dq converted using the estimate value and Id, Iq, Vd, Vq which were converted using the actual value of the rotor angle. $\begin{matrix} {\left\lbrack {{Equation}\quad 25} \right\rbrack {\begin{pmatrix} {\hat{I}\quad d} \\ {\hat{I}\quad q} \end{pmatrix} = {\begin{pmatrix} {\cos \quad {\theta e}} & {{- \sin}\quad {\theta e}} \\ {\sin \quad {\theta e}} & {\cos \quad {\theta e}} \end{pmatrix}\quad \begin{pmatrix} {{Id}\quad} \\ {Iq} \end{pmatrix}}}} & (25) \\ {\left\lbrack {{Equation}\quad 26} \right\rbrack {\begin{pmatrix} {\hat{V}\quad d} \\ {\hat{V}\quad q} \end{pmatrix} = {\begin{pmatrix} {\cos \quad {\theta e}} & {{- \sin}\quad {\theta e}} \\ {\sin \quad {\theta e}} & {\cos \quad {\theta e}} \end{pmatrix}\quad \begin{pmatrix} {{Vd}\quad} \\ {Vq} \end{pmatrix}}}} & (26) \end{matrix}$

[0023] where, θe: phase difference between the actual value and estimate value of the rotor angle.

[0024] Consequently, a relational expression expressed by equation (27) is induced. $\begin{matrix} {\left\lbrack {{Equation}\quad 27} \right\rbrack {{\frac{\quad}{t}\begin{pmatrix} {\hat{I}d} \\ {\hat{I}q} \end{pmatrix}} = {{\begin{pmatrix} {\cos \quad \theta \quad e} & {{- \sin}\quad \theta \quad e} \\ {\sin \quad \theta \quad e} & {\cos \quad \theta \quad e} \end{pmatrix}\frac{\quad}{t}\begin{pmatrix} {Id} \\ {Iq} \end{pmatrix}} = {{\begin{pmatrix} {\cos \quad \theta \quad e} & {{- \sin}\quad \theta \quad e} \\ {\sin \quad \theta \quad e} & {\cos \quad \theta \quad e} \end{pmatrix}\begin{pmatrix} {- \frac{r}{Ld}} & {\omega \frac{Lq}{Ld}} \\ {{- \omega}\frac{Ld}{Lq}} & {- \frac{r}{Lq}} \end{pmatrix}\begin{pmatrix} {\cos \quad \theta \quad e} & {\sin \quad \theta \quad e} \\ {{- \sin}\quad \theta \quad e} & {\cos \quad \theta \quad e} \end{pmatrix}\begin{pmatrix} {\hat{I}d} \\ {\hat{I}q} \end{pmatrix}} + {\begin{pmatrix} {\cos \quad \theta \quad e} & {{- \sin}\quad \theta \quad e} \\ {\sin \quad \theta \quad e} & {\cos \quad \theta \quad e} \end{pmatrix}\begin{pmatrix} \frac{1}{Ld} & 0 \\ 0 & \frac{1}{Lq} \end{pmatrix}\left\{ {{\begin{pmatrix} {\cos \quad \theta \quad e} & {\sin \quad \theta \quad e} \\ {{- \sin}\quad \theta \quad e} & {\cos \quad \theta \quad e} \end{pmatrix}\begin{pmatrix} {\hat{V}d} \\ {\hat{V}q} \end{pmatrix}} - \begin{pmatrix} {\omega \quad {Ke}} \\ 0 \end{pmatrix}} \right\}}}}}} & (27) \end{matrix}$

[0025] Then, similarly to the case of the equation (16) above, in the event that the electric angular velocity ω is substantially 0, influences by changes in induced voltage and angular velocity of the rotor 2 are small, and the voltage drop by the resistors r are negligible, the equation (27) can be approximated by the following equation (28). $\begin{matrix} {\left\lbrack {{Equation}\quad 28} \right\rbrack {{\frac{\quad}{t}\begin{pmatrix} {\hat{I}d} \\ {\hat{I}q} \end{pmatrix}} = {{\begin{pmatrix} {{\frac{1}{Ld}\cos^{2}\theta \quad e} + {\frac{1}{Lq}\sin^{2}\theta \quad e}} & {\left( {\frac{1}{Ld} - \frac{1}{Lq}} \right)\cos \quad \theta \quad e\quad \sin \quad \theta \quad e} \\ {\left( {\frac{1}{Ld} - \frac{1}{Lq}} \right)\cos \quad \theta \quad e\quad \sin \quad \theta \quad e} & {{\frac{1}{Ld}\sin^{2}\theta \quad e} + {\frac{1}{Lq}\cos^{2}\theta \quad e}} \end{pmatrix}\begin{pmatrix} {\hat{V}d} \\ {\hat{V}q} \end{pmatrix}} = {{\begin{pmatrix} {{\frac{1}{Ld}\frac{1 + {\cos \quad 2\theta \quad e}}{2}} + {\frac{1}{Lq}\frac{1 - {\cos \quad 2\theta \quad e}}{2}}} & {\quad {\left( {\frac{1}{Ld} - \frac{1}{Lq}} \right)\frac{\sin \quad 2\quad \theta \quad e}{2}}} \\ {{\left( {\frac{1}{Ld} - \frac{1}{Lq}} \right)\frac{\sin \quad 2\quad \theta \quad e}{2}}\quad} & {{\frac{1}{Ld}\frac{1 - {\cos \quad 2\theta \quad e}}{2}} + {\frac{1}{Lq}\frac{1 + {\cos \quad 2\theta \quad e}}{2}}} \end{pmatrix}\begin{pmatrix} {\hat{V}d} \\ {\hat{V}q} \end{pmatrix}} = {{\frac{1}{2}\begin{pmatrix} {\left( {\frac{1}{Ld} + \frac{1}{Lq}} \right) + {\left( {\frac{1}{Ld} - \frac{1}{Lq}} \right)\cos \quad 2\theta \quad e}} & {\quad {\left( {\frac{1}{Ld} - \frac{1}{Lq}} \right)\sin \quad 2\quad \theta \quad e}} \\ {{\left( {\frac{1}{Ld} - \frac{1}{Lq}} \right)\sin \quad 2\quad \theta \quad e}\quad} & {\left( {\frac{1}{Ld} + \frac{1}{Lq}} \right) + {\left( {\frac{1}{Ld} - \frac{1}{Lq}} \right)\cos \quad 2\theta \quad e}} \end{pmatrix}\begin{pmatrix} {\hat{V}d} \\ {\hat{V}q} \end{pmatrix}} \equiv {\begin{pmatrix} {L_{0} + {L_{1}\cos \quad 2\quad \theta \quad e}} & {\quad {L_{1}\sin \quad 2\quad \theta \quad e}} \\ {{L_{1}\sin \quad 2\quad \theta \quad e}\quad} & {L_{0} - {L_{1}\cos \quad 2\quad \theta \quad e}} \end{pmatrix}\begin{pmatrix} {\hat{V}d} \\ {\hat{V}q} \end{pmatrix}}}}}}} & (28) \end{matrix}$

[0026] The invention will be described below based on the description that has been made heretofore. The invention relates to a DC brushless motor controller which handles a DC brushless motor by converting the DC brushless motor to an equivalent circuit having a q-axis armature which resides on a q-axis which constitutes a direction of magnetic flux of a field of the motor and a d-axis armature which resides on a d-axis which intersects with the q-axis at right angles, comprising a current detecting unit for detecting current which flows to the armatures of the motor, a dq actual current calculating unit for calculating a q axis actual current which flows to the q axis armature and a d axis actual current which flows to the d axis armature based on a current value detected by the current detecting unit and a rotor angle of the motor, and an energizing control unit for feedback controlling the amount of electrical energy supplied to the armatures of the motor by generating a d axis voltage applied to the d axis armature and a q axis voltage applied to the q axis armature in such a manner as to reduce a q axis current deviation which is a deviation between a q axis command current which is a command value of current flowing to the q axis armature and the q axis actual current and a d axis current deviation which is a deviation between a d axis command current which is a command value of current flowing to the d axis armature and the d axis actual current.

[0027] Then, the energizing control unit comprises a reference values calculating unit for feedback controlling the amount of electrical energy supplied to the armatures of the motor in a predetermined control cycle, implementing a unidirectional feedback control which generates a d axis voltage and a q axis voltage in the current control cycle using a d axis actual current and a q axis actual current which are calculated based on an estimate value (θ′) of the rotor angle of the motor by the dq actual current calculating unit relative to each of two or more directions which are represented by a linear combination of unit vectors of respective coordinate axes in an orthogonal coordinates system in which the d axis voltage and the q axis voltage constitute coordinate axes thereof and which are not parallel to each other in different control cycles in such a manner that the size of a vector in which the d axis voltage and the q axis voltage which were generated in the previous control cycle constitute components of the vector increases or decreases along the two or more directions according to the d axis current deviation and the q axis current deviation when the vector is projected in the two or more directions, and calculating a sine reference value which corresponds to a sine value of an angle which is twice a phase difference (θ−θ′) between an actual value (θ) and an estimate value (θ′) of the rotor angle of the motor and a cosine reference value which corresponds to a cosine value of the angle which is twice the phase difference (θ−θ′) based on variations of the d axis actual current and the q axis actual current and levels of the d axis voltage and the q axis voltage in a control cycle in which the unidirectional feedback control is implemented to each of the two or more directions, and a rotor angle detecting unit for detecting a rotor angle of the motor based on the sine reference value and the cosine reference value so calculated.

[0028] In the invention, assume that the differential time in the equation (28) is the length (ΔT) of the control cycle and that the variations of the d axis actual current and the q axis actual current in the control cycle i that are calculated based on the estimate value (θ{circumflex over ( )}) of the rotor angle by the dq current calculating unit are ΔId{circumflex over ( )}(i), ΔIq{circumflex over ( )}(i), respectively, then the left side of the equation (28) is given by the following equation (29). $\begin{matrix} {\left\lbrack {{Equation}\quad 29} \right\rbrack {{\frac{\quad}{t}\begin{pmatrix} {\hat{I}{d(i)}} \\ {\hat{I}{q(i)}} \end{pmatrix}} = {\begin{pmatrix} \frac{\Delta \hat{I}{d(i)}}{\Delta \quad T} \\ \frac{\Delta \hat{I}{q(i)}}{\Delta \quad T} \end{pmatrix} = \begin{pmatrix} \frac{{\hat{I}{d\left( {i + 1} \right)}} - {\hat{I}{d(i)}}}{\Delta \quad T} \\ \frac{{\hat{I}{q\left( {i + 1} \right)}} - {\hat{I}{q(i)}}}{\Delta \quad T} \end{pmatrix}}}} & (29) \end{matrix}$

[0029] Thus, assume that the d axis voltage and the q axis voltage in the control cycle i are Vd{circumflex over ( )}(i), Vq{circumflex over ( )}(i), respectively, then the equation (28) can be expressed by the following equation (30). $\begin{matrix} {\left\lbrack {{Equation}\quad 30} \right\rbrack {\begin{pmatrix} \frac{\Delta \hat{I}{d(i)}}{\Delta \quad T} \\ \frac{\Delta \hat{I}{q(i)}}{\Delta \quad T} \end{pmatrix} = {\begin{pmatrix} {L_{0} + {L_{1}\cos \quad 2\quad \theta \quad e}} & {\quad {L_{1}\sin \quad 2\quad \theta \quad e}} \\ {{L_{1}\sin \quad 2\quad \theta \quad e}\quad} & {L_{0} - {L_{1}\cos \quad 2\quad \theta \quad e}} \end{pmatrix}\begin{pmatrix} {\hat{V}{d(i)}} \\ {\hat{V}{q(i)}} \end{pmatrix}}}} & (30) \end{matrix}$

[0030] Consequently, when implementing a subtraction between sides of the equation (30) for the control cycle i and sides of the equation (30) for the control cycle i+1, the following equation (31) can be obtained. $\begin{matrix} {\left\lbrack {{Equation}\quad 31} \right\rbrack {\begin{pmatrix} {\frac{\Delta \quad \hat{I}{d\left( {i + 1} \right)}}{\Delta \quad T} - \frac{\Delta \quad \hat{I}{d(i)}}{\Delta \quad T}} \\ {\frac{\Delta \quad \hat{I}{q\left( {i + 1} \right)}}{\Delta \quad T} - \frac{\Delta \quad \hat{I}{q(i)}}{\Delta \quad T}} \end{pmatrix} = {{{\begin{pmatrix} {L_{0} + {L_{1}\cos \quad 2\quad \theta \quad e}} & {\quad {L_{1}\sin \quad 2\quad \theta \quad e}} \\ {{L_{1}\sin \quad 2\quad \theta \quad e}\quad} & {L_{0} - {L_{1}\cos \quad 2\quad \theta \quad e}} \end{pmatrix}\begin{pmatrix} {{\hat{V}{d\left( {i + 1} \right)}} - {\hat{V}{d(i)}}} \\ {{\hat{V}{q\left( {i + 1} \right)}} - {\hat{V}{q(i)}}} \end{pmatrix}}\quad \equiv {\begin{pmatrix} {L_{0} + {L_{1}\cos \quad 2\quad \theta \quad e}} & {\quad {L_{1}\sin \quad 2\quad \theta \quad e}} \\ {{L_{1}\sin \quad 2\quad \theta \quad e}\quad} & {L_{0} - {L_{1}\cos \quad 2\quad \theta \quad e}} \end{pmatrix}\begin{pmatrix} {d\hat{V}{d(i)}} \\ {d\hat{V}{q(i)}} \end{pmatrix}}}\quad = {{\begin{pmatrix} {d\hat{V}{q(i)}} & {d\hat{V}{d(i)}} & {d\hat{V}{d(i)}} \\ \quad & \quad & \quad \\ {d\hat{V}{d(i)}} & {{- d}\hat{V}{q(i)}} & {d\hat{V}{q(i)}} \end{pmatrix}\begin{pmatrix} {L_{1}\sin \quad 2\quad \theta \quad e} \\ {L_{1}\cos \quad 2\quad \theta \quad e} \\ L_{0} \end{pmatrix}}\quad \equiv {{\hat{C}(i)}\begin{pmatrix} {L_{1}\sin \quad 2\quad \theta \quad e} \\ {L_{1}\cos \quad 2\quad \theta \quad e} \\ L_{0} \end{pmatrix}}}}}} & (31) \end{matrix}$

[0031] where, ΔId{circumflex over ( )}(i+1): variation of the d axis actual current in the control cycle (i+1); ΔId{circumflex over ( )}(i): variation of the d axis actual current in the control cycle (i); ΔIq{circumflex over ( )}(i+1): variation of the q axis actual current in the control cycle (i+1); ΔIq{circumflex over ( )}(i): variation of the q axis actual current in the control cycle (i); dVd{circumflex over ( )}(i): variation of the d axis voltage in the control cycle i; dVq{circumflex over ( )}(i): variation of the q axis voltage in the control cycle i.

[0032] Consequently, two relational expressions for L₀, L_(1 sin) 2 θe and L_(1 cos) 2 θe, which are unknowns, can be obtained by substituting the variation of the d axis actual current (ΔId{circumflex over ( )}(i)), the variation of the q axis actual current ΔIq{circumflex over ( )}(i), the variation of the d axis voltage (dVd{circumflex over ( )}(i)) and the variation of the q axis voltage (dVq{circumflex over ( )}(i)) in the control cycle i, and the variation of the d axis actual current (ΔId{circumflex over ( )}(i+1) and the variation of the q axis actual current (ΔIq{circumflex over ( )}(i+1)) in the control cycle i+1 which follows the control cycle i in the equation (31) above.

[0033] Then, when executing the unidirectional feedback control relative to a direction represented by a linear combination of a d axis voltage (Vd) and a q axis voltage (Vq) in the following equation (32), a relational expression in thee form of the equation (31) above can be obtained.

[0034] [Equation 32]

v=k1·Vd+k2·Vq  (32)

[0035] where, k1, k2: combination coefficients.

[0036] Consequently, when implementing the unidirectional feedback control relative to the two or more directions which are expressed by the quation (32) and are not parallel to each other in the different control cycles, four or more independent relational expressions can be obtained for the three unknowns, L₀, L_(1 sin) 2 θe and L_(1 cos) 2 θe. Due to this, L_(1 sin) 2 θe and L_(1 cos) 2 θe can be obtained as the sine reference value and the cosine reference value, respectively, from these relational expressions. Then, an actual value of the rotor angle can be detected by calculating a phase difference (θe) between the actual value (θ) and the estimate (θ{circumflex over ( )}) of the rotor angle by the following equation (33), for example. $\begin{matrix} {\left\lbrack {{Equation}\quad 33} \right\rbrack {{\theta \quad e} = {\frac{1}{2}\tan^{- 1}\frac{L_{1}\sin \quad 2\quad \theta \quad e}{L_{1}\cos \quad 2\quad \theta \quad e}}}} & (33) \end{matrix}$

[0037] Then, according to the invention, since the rotor angle is detected using the variations of the d axis actual current and the q axis actual current and the levels of the d axis voltage and the q axis voltage which are used when executing the motor armature current feedback control, the necessity for imposing a special voltage on the drive voltage of the motor to detect the rotor angle is obviated. Consequently, there is generated no irksome noise that would be generated when imposing the rotor angle detecting high-frequency voltage on the drive voltage. In addition, there is no need to provide a low-pass filter for preventing the interference of the response from the motor current feedback system and the response from the rotor angle detection system.

[0038] Note that the response of the motor armature current feedback control system may not be so fast when the motor rotates at low speed. Due to this, it is considered that there would be caused no problem even if the motor armature current feedback control is implemented by implementing the unidirectional feedback control in different control cycles.

[0039] In addition, the invention is characterized in that the two or more directions are two coordinate axes directions of the orthogonal coordinates system in which the d axis voltage and the q axis voltage constitute coordinate axes thereof.

[0040] According to the invention, when implementing the unidirectional feedback control relative to the axial direction of the d axis voltage, the variation of the q axis voltage in the control cycle in which the unidirectional feedback control is implemented becomes 0. Consequently, when the unidirectional feedback control relative to the axial direction of the d axis voltage is implemented in the control cycle i₁, the equation (31) above is expressed in the form of the following equation (34). $\begin{matrix} {\left\lbrack {{Equation}\quad 34} \right\rbrack {\begin{pmatrix} {\frac{\Delta \quad \hat{I}{d\left( {i_{1} + 1} \right)}}{\Delta \quad T} - \frac{\Delta \quad \hat{I}{d\left( i_{1} \right)}}{\Delta \quad T}} \\ {\frac{\Delta \quad \hat{I}{q\left( {i_{1} + 1} \right)}}{\Delta \quad T} - \frac{\Delta \quad \hat{I}{q\left( i_{1} \right)}}{\Delta \quad T}} \end{pmatrix} = {{\begin{pmatrix} {L_{0} + {L_{1}\cos \quad 2\quad \theta \quad e}} & {\quad {L_{1}\sin \quad 2\quad \theta \quad e}} \\ {{L_{1}\sin \quad 2\quad \theta \quad e}\quad} & {L_{0} - {L_{1}\cos \quad 2\quad \theta \quad e}} \end{pmatrix}\begin{pmatrix} {d\hat{V}{d\left( i_{1} \right)}} \\ 0 \end{pmatrix}}\quad = {d\hat{V}{d\left( i_{1} \right)}\begin{pmatrix} 0 & 1 & 1 \\ \quad & \quad & \quad \\ 1 & 0 & 0 \end{pmatrix}\begin{pmatrix} {L_{1}\sin \quad 2\quad \theta \quad e} \\ {L_{1}\cos \quad 2\quad \theta \quad e} \\ L_{0} \end{pmatrix}}}}} & (34) \end{matrix}$

[0041] On the other hand, when implementing the unidirectional feedback control relative to the axial direction of the q axis voltage, the variation of the d axis voltage in the control cycle in which the unidirectional feedback control is implemented becomes 0. Consequently, when implementing the unidirectional feedback control relative to the axial direction of the q axis voltage in the control cycle i₂₁ the equation (31) above is expressed in the form of the following equation (35). $\begin{matrix} {\left\lbrack {{Equation}\quad 35} \right\rbrack {\begin{pmatrix} {\frac{\Delta \quad \hat{I}{d\left( {i_{2} + 1} \right)}}{\Delta \quad T} - \frac{\Delta \quad \hat{I}{d\left( i_{2} \right)}}{\Delta \quad T}} \\ {\frac{\Delta \quad \hat{I}{q\left( {i_{2} + 1} \right)}}{\Delta \quad T} - \frac{\Delta \quad \hat{I}{q\left( i_{2} \right)}}{\Delta \quad T}} \end{pmatrix} = {{\begin{pmatrix} {L_{0} + {L_{1}\cos \quad 2\quad \theta \quad e}} & {\quad {L_{1}\sin \quad 2\quad \theta \quad e}} \\ {{L_{1}\sin \quad 2\quad \theta \quad e}\quad} & {L_{0} - {L_{1}\sin \quad 2\quad \theta \quad e}} \end{pmatrix}\begin{pmatrix} 0 \\ {d\hat{V}{q\left( i_{2} \right)}} \end{pmatrix}}\quad = {d\hat{V}{q\left( i_{2} \right)}\begin{pmatrix} 1 & 0 & 0 \\ \quad & \quad & \quad \\ 0 & {- 1} & 1 \end{pmatrix}\begin{pmatrix} {L_{1}\sin \quad 2\quad \theta \quad e} \\ {L_{1}\cos \quad 2\quad \theta \quad e} \\ L_{0} \end{pmatrix}}}}} & (35) \end{matrix}$

[0042] Due to this, from these equations (34), (35), four simple relational expressions with respect to the three unknowns, L₀, L_(1 sin) 2 θe and L_(1 cos) 2 θe, can be obtained. Then, from these relational expressions, as the sine reference value, L_(1 sin) 2 θe can easily be calculated, and L_(1 cos) 2 θe ran easily be calculated as the cosine reference value.

[0043] In addition, when the following equation (36) is applied, the equation (34) above can be expressed in the form of the following equation (37), whereas the equation (35) above in the form of the following equation (38). $\begin{matrix} {\left\lbrack {{Equation}\quad 36} \right\rbrack {{{dd}{\hat{I}(i)}} \equiv {\begin{pmatrix} {d\quad d\hat{I}{d(i)}} \\ {d\quad d\hat{I}{q(i)}} \end{pmatrix}\begin{pmatrix} {\frac{\Delta \quad \hat{I}{d\left( {i + 1} \right)}}{\Delta \quad T} - \frac{\Delta \quad \hat{I}{d(i)}}{\Delta \quad T}} \\ {\frac{\Delta \quad \hat{I}{q\left( {i + 1} \right)}}{\Delta \quad T} - \frac{\Delta \quad \hat{I}{q(i)}}{\Delta \quad T}} \end{pmatrix}}}} & (36) \\ {\left\lbrack {{Equation}\quad 37} \right\rbrack {{d\quad d{\hat{I}\left( i_{1} \right)}} = {d\hat{V}{d\left( i_{1} \right)}\begin{pmatrix} 0 & 1 & 1 \\ \quad & \quad & \quad \\ 1 & 0 & 0 \end{pmatrix}\begin{pmatrix} {L_{1}\sin \quad 2\quad \theta \quad e} \\ {L_{1}\cos \quad 2\quad \theta \quad e} \\ L_{0} \end{pmatrix}}}} & (37) \\ {\left\lbrack {{Equation}\quad 38} \right\rbrack {{d\quad d{\hat{I}\left( i_{2} \right)}} = {d\hat{V}{q\left( i_{2} \right)}\begin{pmatrix} 1 & 0 & 0 \\ \quad & \quad & \quad \\ 0 & {- 1} & 1 \end{pmatrix}\begin{pmatrix} {L_{1}\sin \quad 2\quad \theta \quad e} \\ {L_{1}\cos \quad 2\quad \theta \quad e} \\ L_{0} \end{pmatrix}}}} & (38) \end{matrix}$

[0044] Then, when arranged, the equations (37) and (38) can be expressed in the form of the following equation (39). $\begin{matrix} {\left\lbrack {{Equation}\quad 39} \right\rbrack {{{\begin{pmatrix} 0 & 1 & 1 \\ 1 & 0 & 0 \\ 1 & 0 & 0 \\ 0 & {- 1} & 1 \end{pmatrix}\begin{pmatrix} {L_{1}\sin \quad 2\quad \theta \quad e} \\ {L_{1}\cos \quad 2\quad \theta \quad e} \\ L_{0} \end{pmatrix}} \equiv {\overset{\sim}{C}\begin{pmatrix} {L_{1}\sin \quad 2\quad \theta \quad e} \\ {L_{1}\cos \quad 2\quad \theta \quad e} \\ L_{0} \end{pmatrix}}} = \begin{pmatrix} \frac{d\quad d{\hat{I}\left( i_{1} \right)}}{d\hat{V}{d\left( i_{1} \right)}} \\ \frac{d\quad d{\hat{I}\left( i_{2} \right)}}{d\hat{V}{q\left( i_{2} \right)}} \end{pmatrix}}} & (39) \end{matrix}$

[0045] Consequently, assuming that the sine reference value is Vs{circumflex over ( )}, the cosine reference value is Vc{circumflex over ( )} and L₀ is V1{circumflex over ( )}, the following equation (40) can be obtained from the equation (39). Then, the rotor angle detecting unit can calculate the sine reference value (Vs{circumflex over ( )}) and the cosine reference value (Vc{circumflex over ( )}) easily from the following equation (40). $\begin{matrix} \left\lbrack {{Equation}\quad 40} \right\rbrack & (40) \\ {\begin{pmatrix} {\hat{V}s} \\ \quad \\ {\hat{V}c} \\ \quad \\ {\hat{V}i} \end{pmatrix} = {\begin{pmatrix} {L_{1}\sin \quad 2\quad {\theta e}} \\ \quad \\ {L_{1}\cos \quad 2\quad {\theta e}} \\ \quad \\ L_{0} \end{pmatrix} = {{\left( {{\overset{\sim}{C}}^{t}\overset{\sim}{C}} \right)^{- 1}{C^{t}\begin{pmatrix} \frac{{d}{\hat{I}\left( i_{1} \right)}}{{\hat{V}}{d\left( i_{i} \right)}} \\ \frac{{d}{\hat{I}\left( i_{2} \right)}}{{\hat{V}}{q\left( i_{2} \right)}} \end{pmatrix}}} \equiv {\overset{\sim}{D}\begin{pmatrix} \frac{{d}{\hat{I}\left( i_{1} \right)}}{{\hat{V}}{d\left( i_{i} \right)}} \\ \frac{{d}{\hat{I}\left( i_{2} \right)}}{{\hat{V}}{q\left( i_{2} \right)}} \end{pmatrix}}}}} & \quad \end{matrix}$

[0046] In addition, by storing data of components of a matrix D⁻ in the equation (40) above in the memory in advance, the rotor angle detecting unit can calculate the sine reference value (Vs{circumflex over ( )}) and the cosine reference value (Vc{circumflex over ( )}) from simple multiplication and addition of the d axis actual current obtained from the unidirectional feedback control implemented relative to the axial direction of the d axis voltage, 2^(nd) order difference of the q axis actual current (d d I{circumflex over ( )}(ii)) and the variation (dVd{circumflex over ( )}(i₁) and the q axis actual current obtained from the unidirectional feedback control implemented relative to the axial direction of the q axis voltage, 2^(nd) order difference of the q axis actual current (d d I{circumflex over ( )}(i₂)) and the variation (dVq{circumflex over ( )}(i₂)), and the data of the components of the matrix D⁻ stored in the memory.

BRIEF DESCRIPTION OF THE DRAWINGS

[0047]FIGS. 1A and 1B are diagrams showing the configuration of a DC brushless motor;

[0048]FIG. 2 is a control block diagram of a motor controller for controlling the operation of the DC brushless motor shown in FIGS. 1A and 1B; and

[0049]FIGS. 3A and 3B are timing charts of unidirectional feedback control.

DETAILED DESCRIPTION OF THE INVENTION

[0050] Referring to FIGS. 1A to 3, an embodiment of the invention will be described below. FIGS. 1A and 1B are diagrams showing the configuration of a DC brushless motor. FIG. 2 is a control block diagram of a motor controller for controlling the operation of the DC brushless motor. FIGS. 3A and 3B show timing charts of unidirectional feedback controls.

[0051] A motor controller 10 shown in FIG. 2 controls current which flows through armatures 3, 4, 5 of a salient pole-type DC brushless motor 1 (hereinafter, simply referred to as a motor 1) shows in FIG. 1 through a feed back loop. The motor controller 10 handles the motor 1 as an equivalent circuit of a dq coordinate system having a q axis armature which resides on a q axis which constitutes a magnetic flux direction of field poles of a rotor 2 and a d axis armature which resides on a d axis which intersects with the q axis at right angles.

[0052] Then, the motor controller 10 controls a current (hereinafter, referred to as a d axis current) flowing to the d axis armature and a current flowing to the q axis armature (hereinafter, referred to as a q axis current) through a feed back loop in response to a d axis command current (Id_c) and a q axis command current (Iq_c) respectively.

[0053] The motor controller 10 includes a dq/three phase converter 20 and a power drive unit 21. The dg/three phrase converter 20 converts a voltage applied to a d axis armature (hereinafter, referred to as a d axis voltage) and a voltage applied to a q axis armature (hereinafter, referred to as a q axis voltage) to command values (Vu_c, Vv_c, Vw_c) for voltages that are applied to three phases, U, V, W, armatures of a motor 1. The power drive unit 21 comprises an inverter circuit in which a plurality of switching elements are bridge connected so that voltages according to the command values (Vu_c, Vv_c, Vw_c) are applied to the U, V, W armatures of the motor 1, respectively.

[0054] Furthermore, the motor controller 10 has a U phase current sensor 22 (corresponding to the current detecting unit of the invention), a W phase current sensor 23 (corresponding to the current detecting unit of the invention), a three phase/dq converter 24 (corresponding to the dq actual current calculating unit of the invention), a angle detector 25 (corresponding to the reference value calculating unit and the rotor angle detecting unit of the invention), and a non-interference calculator 26. The U phase current sensor 22 detects a current flowing to the U phase armature of the motor 1. The W phase current sensor 23 detects a current flowing to the W phase armature of the motor 1. The three phase/dq converter 24 calculates a d axis actual current (Id_s) which is a detected value of the d axis current and a q axis actual current (Iq_s) which is a detected value of the q axis current according to a detected current value (Iu_s) of the U phase current sensor 22 and a detected current value (Iw_s) of the W phase current sensor 23. The angle detector 25 detects a rotor angle (θ) of the motor 1 based on the d axis actual current (Id_s), the q axis actual current (Iq_s), the d axis voltage (Vd) and the q axis voltage (vq). The non-interference calculator 26 implements a process to overcome the influence of speed electromotive forces which interfere with each other between the d axis and the q axis.

[0055] In the motor controller 10, a first subtractor 27 substrates the d axis actual current (Id_s) from the d axis command current (Id_c), and a first PI processor 28 performs a PI (Proportional plus Integral) process on the result of the subtraction. A first adder 29 adds an non-interference component to an output signal from the first PI processor 28 to thereby generate a d axis voltage (Vd) according to a deviation between the d axis command current (Id_c) and the d axis actual current (Id_s).

[0056] In addition, in the motor controller 10, similarly, a second subtractor 30 subtracts the q axis actual current (Iq_s) from the q axis command current (Iq_c), and a second PI processor 31 performs a PI process on the result of the subtraction. A second adder 32 adds an non-interference component to an output signal from the second PI processor 31 to thereby generate a q axis voltage (Vq) according to a deviation between the q axis command current (Iq_c) and the q axis actual current (Iq_s).

[0057] Then, in the motor controller 10, the d axis voltage (Vd) and the q axis voltage (Vq) are supplied to the dq/three phase converter 20. The power drive unit 21 applies three phase Voltages (Vu, Vv, Vw) to the armatures of the motor 1 to control current flowing to the armatures of the motor through a feedback loop in order to reduce the deviation between the d axis command current (Id_c) and the d axis actual current (Id_s) and the deviation between the q axis command current (Iq_c) and the q axis actual current (Iq_s).

[0058] The first subtractor 27, the first PI processor 28, the first adder 29, PI processor 31, dq/three phase converter 20, and the power drive unit 21 constitutes the energizing control unit of the invention.

[0059] Here, in converting the d axis voltage (Vd) and the q axis voltage (Vq) to voltage commands (Vu_c, Vv_c, Vw_c) by the dq/three phase converter 20, the rotor angle (θ) of the motor 1 is required. In addition, also in converting a detected current value (Iu_s) of the U phase current sensor 22 and a detected current value (Iw_s) of the W phase current sensor 23 to the d axis actual current (Id_s) and the q axis actual current (Iq_s) by the three phase/dq converter 24, the rotor angle (θ) of the motor 1 is required.

[0060] Then, the motor controller 10 detects a rotor angle (θ) without using a position detecting sensor such as a resolver by implementing a feedback control (corresponding to the unidirectional feedback control of the invention) only for a d axis current and a feedback control (corresponding to the unidirectional feedback control of the invention) only for a q axis in different control cycles. Referring to FIGS. 3A and 3B, the process of detecting a rotor angle (θ) by the motor controller 10 will be described below.

[0061]FIGS. 3A and 3B show timing charts of unidirectional feedback controls of a d axis current and a q axis current executed by the motor controller 10, and the axis of ordinates denotes voltage (V) and the axis of abscissas denotes time (t).

[0062] As shown in FIG. 3A, the motor controller 10 implements a feedback control only for d axis current (Id_FB in the figure) and a feedback control only for q axis current (Iq_FB in the figure) alternately in a predetermined control cycle. In an example shown in FIG. 3A, the feedback control only for the d axis current is implemented in control cycles T₁₁, T₁₃, T₁₅ whereas the feedback control only for the q axis current is implemented in control cycles T₁₂, T₁₄.

[0063] Here, when detecting the rotor angle of the motor 1, the angle detector 25 outputs an estimate value (θ{circumflex over ( )}) of the rotor angle to the dq/three phase converter 20 and the three phase/dq converter 24. Then, using the estimate value (θ{circumflex over ( )}), the dq/three phase converter 20 calculates voltage command values (Vu_c, Vv_c, Vw_c) for the three phases, and the three phase/dq converter 24 calculates a d axis actual current (Id_s) and a q axis actual current (Iq_s).

[0064] Then, in the control cycles (T₁₁, T₁₃, T₁₅) in which the feedback control is implemented only for the d axis current, the q axis voltage (Vq) remains unchanged because the voltage in the previous control cycle is maintained. Due to this, when the feedback control using the estimate value (θ{circumflex over ( )}) of the rotor angle is implemented only for the d axis current in the control cycle i₁, the relation in the equation (34) above is established.

[0065] In addition, in the control cycles (T₁₂, T₁₄) in which the feedback control is implemented only for the q axis current, the d axis voltage (Vd) remains unchanged because the voltage in the previous control cycle is maintained. Due to this, when the feedback control using the estimate value (θ{circumflex over ( )}) of the rotor angle is implemented only for the q axis current in the control cycle i₂, the relation in the equation (35) above is established.

[0066] Then, the angle detector 25 executes an operation of the equation (40) above which is obtained from the equations (34), (35) and calculates a sine reference value (Vs{circumflex over ( )}=L_(1 sin) 2 θe) and a cosine reference value (Vc{circumflex over ( )}=L_(1 cos) 2 θe) which correspond to an angle which is twice the phase difference (θe) between the actual value (θ) and the estimate value (θ{circumflex over ( )}) of the rotor angle.

[0067] Here, when calculating the matrix D⁻ of the equation (40), the following equation (41) results. $\begin{matrix} {\left\lbrack {{Equation}\quad 41} \right\rbrack {\begin{pmatrix} {\hat{V}s} \\ \quad \\ {\hat{V}c} \\ \quad \\ {\hat{V}i} \end{pmatrix} = {{\overset{\sim}{D}\begin{pmatrix} \frac{{d}{\hat{I}\left( i_{1} \right)}}{{\hat{V}}{d\left( i_{1} \right)}} \\ \frac{{d}{\hat{I}\left( i_{2} \right)}}{{\hat{V}}{q\left( i_{2} \right)}} \end{pmatrix}} = {\begin{pmatrix} 0 & 0.5 & 0.5 & 0 \\ \quad & \quad & \quad & \quad \\ 0.5 & 0 & 0 & {- 0.5} \\ \quad & \quad & \quad & \quad \\ 0.5 & 0 & 0 & 0.5 \end{pmatrix}\begin{pmatrix} \frac{{d}{\hat{I}\left( i_{1} \right)}}{{\hat{V}}{d\left( i_{1} \right)}} \\ \frac{{d}{\hat{I}\left( i_{2} \right)}}{{\hat{V}}{q\left( i_{2} \right)}} \end{pmatrix}}}}} & (41) \end{matrix}$

[0068] Then, the data of the components of the matrix D⁻ in the equation (41) are stored in a memory (not shown) of the motor controller 10 in advance. Then, the angle detector 25 reduces time for calculating the reference value (Vs{circumflex over ( )}) and the cosine reference value (Vc{circumflex over ( )}) by performing an operation of the equation (41) using the component data.

[0069] Then, the angle detector 25 calculates from the equation (33) a phase difference (θe) between the actual value (θ) and the estimate value (θ{circumflex over ( )}) of the rotor angle to thereby detect an actual value (θ=θ{circumflex over ( )}+θe).

[0070] Note that it is possible to modify using the phase difference (θe) through a follow-up operation by an observer such that an estimated error of the estimate value (θ{circumflex over ( )}) of the rotor angle is converged to 0. The modification process of the estimate value (θ{circumflex over ( )}) of the rotor angle by the observer will be described below.

[0071] Assuming that the motor 1 rotates at a certain angular velocity, the relation between the rotor angle (θ) and the angular velocity (ω) every control cycle (ΔT) is expressed by the following equation (42). $\begin{matrix} {\left\lbrack {{Equation}\quad 42} \right\rbrack {\begin{pmatrix} {\theta \left( {n + 1} \right)} \\ {\omega \left( {n + 1} \right)} \end{pmatrix} = {\begin{pmatrix} 1 & {\Delta \quad T} \\ 0 & 1 \end{pmatrix}\begin{pmatrix} {\theta (n)} \\ {\omega (n)} \end{pmatrix}}}} & (42) \end{matrix}$

[0072] where, θ(n) and ω(n) denote the rotor angle and the angular velocity in a certain control cycle, respectively, and θ(n+1) and ω(n+1) denote the rotor angle and the angular velocity in a control cycle that follows the certain control cycle, respectively.

[0073] Then, an estimate value (θ{circumflex over ( )}) of the rotor angle and an estimate value (ω{circumflex over ( )}) of the angular velocity are inputted into a model simulator which is expressed by the equation (42), and a phase difference (θe) between the actual value (θ) and the estimate value (θ{circumflex over ( )}) is multiplied by a gain from operation gains K1, K2, K⁻, which operations are expressed by the following equation (43) or (44). $\begin{matrix} {\left\lbrack {{Equation}\quad 43} \right\rbrack {\begin{pmatrix} {\hat{\theta}\left( {n + 1} \right)} \\ {\hat{\omega}\left( {n + 1} \right)} \end{pmatrix} = {{{\begin{pmatrix} 1 & {\Delta \quad T} \\ 0 & 1 \end{pmatrix}\begin{pmatrix} {\hat{\theta}(n)} \\ {\hat{\omega}(n)} \end{pmatrix}} + {\begin{pmatrix} {K1} \\ {K2} \end{pmatrix}{\overset{\sim}{K}\left( {\theta \quad {e(n)}} \right)}}}\quad = {{\begin{pmatrix} 1 & {\Delta \quad T} \\ 0 & 1 \end{pmatrix}\begin{pmatrix} {\hat{\theta}(n)} \\ {\hat{\omega}(n)} \end{pmatrix}} + {\begin{pmatrix} {K1} \\ {K2} \end{pmatrix}\overset{\sim}{K}\frac{1}{2}\tan^{- 1}\frac{\hat{V}s}{\hat{V}c}}}}}} & (43) \\ {\left\lbrack {{Equation}\quad 44} \right\rbrack {\begin{pmatrix} {\hat{\theta}\left( {n + 1} \right)} \\ {\hat{\omega}\left( {n + 1} \right)} \end{pmatrix} = {{{\begin{pmatrix} 1 & {\Delta \quad T} \\ 0 & 1 \end{pmatrix}\begin{pmatrix} {\hat{\theta}(n)} \\ {\hat{\omega}(n)} \end{pmatrix}} + {\begin{pmatrix} {K1} \\ {K2} \end{pmatrix}{\overset{\sim}{K}\left( {\theta \quad {e(n)}} \right)}}}\quad = {{\begin{pmatrix} 1 & {\Delta \quad T} \\ 0 & 1 \end{pmatrix}\begin{pmatrix} {\hat{\theta}(n)} \\ {\hat{\omega}(n)} \end{pmatrix}} + {\begin{pmatrix} {K1} \\ {K2} \end{pmatrix}\overset{\sim}{K}\frac{\hat{V}s}{\sqrt{{\hat{V}s^{2}} + {\hat{V}c^{2}}}}\left( {{\theta \quad {e(n)}} \approx 0} \right)}}}}} & (44) \end{matrix}$

[0074] The equations (43), (44) above constitute an observer for a steady rotation motor model in which a feedback by the phase difference is carried out on the assumption that the motor of the simulator rotates at a constant angular velocity. Then, the estimate value (θ{circumflex over ( )}) of the rotor angle can be converged to the actual value (θ) thereof by the equations (43), (44).

[0075] Note that since the square operation of the equation (44) takes time, the following equation (45) may be used for approximation. $\begin{matrix} {\left\lbrack {{Equation}\quad 45} \right\rbrack {\frac{\hat{V}s}{\sqrt{{\hat{V}s^{2}} + {\hat{V}c^{2}}}} \approx \left\{ \begin{matrix} {\frac{\hat{V}s}{{\hat{V}s}}\left( {{{\hat{V}s}} > {{\hat{V}c}}} \right)} \\ {\frac{\hat{V}s}{{\hat{V}c}}\left( {{{\hat{V}c}} > {{\hat{V}s}}} \right)} \end{matrix} \right.}} & (45) \end{matrix}$

[0076] In addition, in the equations (43), (44), as shown by the following equation (46), the phase of an estimate value (θ{circumflex over ( )}) of the rotor angle that is to be calculated may forcibly be shifted by applying an offset so as to reduce a detection error of the rotor angle. $\begin{matrix} {\left\lbrack {{Equation}\quad 46} \right\rbrack {\begin{pmatrix} {\hat{\theta}\left( {n + 1} \right)} \\ {\hat{\omega}\left( {n + 1} \right)} \end{pmatrix} = {{\begin{pmatrix} 1 & {\Delta \quad T} \\ 0 & 1 \end{pmatrix}\begin{pmatrix} {\hat{\theta}(n)} \\ {\hat{\omega}(n)} \end{pmatrix}} + {\begin{pmatrix} {K1} \\ {K2} \end{pmatrix}{\overset{\sim}{K}\left( {{\theta \quad {e(n)}} + {offset}} \right)}}}}} & (46) \end{matrix}$

[0077] In addition, while the feedback control only for the d axis current and the feedback control only for the q axis current are executed alternately in one control cycle, as shown in FIG. 3A, in this embodiment, with a control cycle in which only the d axis voltage changes and the variation of the q axis voltage becomes 0 and a control cycle in which only the q axis voltage changes and the variation of the d axis voltage becomes 0, the sine reference value (Vs{circumflex over ( )}) and the cosine reference value (Vc{circumflex over ( )}) can be calculated.

[0078] To this end, for example, as shown in FIG. 3B, the feedback control only for the q axis current may be executed continuously over two control cycles after the feedback control only for the d axis current.

[0079] In addition, while the unidirectional feedback control according to the invention is executed relative to the axial direction of the d axis voltage and the axial direction of the q axis voltage in the embodiment, there is no specific reason why the direction of the unidirectional feedback control has to be limited to these directions. Namely, the sine reference value (Vs{circumflex over ( )}) and the cosine reference value (Vc{circumflex over ( )}) can be calculated by implementing the unidirectional feedback control relative to the two or more directions (v) which are expressed by the linear combination of the d axis voltage (Vd) and the q axis voltage (Vq) shown in the equation (32) and which are not parallel to each other.

[0080] Referring to FIG. 2, when ignoring the function of the non-interference calculator 26, a d axis voltage (Vd_new) and a q axis voltage (Vq_new) in a certain control cycle are calculated by the following equations (47), (48).

[0081] [Equation 47]

Vd _(—) new=Kp(Id _(—) c−Id _(—) s)+Ki∫(Id _(—) c−Id _(—) s)dt  (47)

[0082] [Equation 48]

Vq _(—) new=Kp(Iq _(—) c−Iq _(—) s)+Ki∫(Iq _(—) c−Iq _(—) s)dt  (48)

[0083] where, Kp: proportional gain coefficient; Ki: integral gain coefficient.

[0084] To this end, assume that the d axis voltage and the q axis voltage which were generated in the previous control cycle are Vd_old, Vq_old, respectively, the variation (dVd′) of the d axis voltage and the variation (dVq′) of the q axis voltage in the current control cycle are expressed by the following equations (49), (50).

[0085] [Equation 49]

dVd′=Vd _(—) new−Vd _(—) old  (49)

[0086] [Equation 50]

dVq′=Vq _(—) new−Vq _(—) old  (50)

[0087] Here, a vector whose components are made up of the variation (dVd′) of the d axis voltage and the variation (dVq′) of the q axis voltage which are expressed by the equations (49), (50) can take an arbitrary direction. Due to this, in order to implement a current feedback control relative to the direction (v) expressed by the equation (32) only, firstly, a projective component (dV) of the variation (dVd′) of the d axis command voltage and the variation (dVq′) of the q axis command voltage to the direction (v) is obtained from the following equation (51). $\begin{matrix} {\left\lbrack {{Equation}\quad 51} \right\rbrack {{V} = {\frac{1}{\sqrt{k_{1}^{2} + k_{2}^{2}}}\begin{pmatrix} k_{1} & k_{2} \end{pmatrix}\begin{pmatrix} {{\hat{V}}d^{\prime}} \\ {{\hat{V}}q^{\prime}} \end{pmatrix}}}} & (51) \end{matrix}$

[0088] Then, a d axis voltage (Vd) and a q axis voltage (Vq) in the current control cycle may be calculated from the following equations (52), (53). $\begin{matrix} {\left\lbrack {{Equation}\quad 52} \right\rbrack {{Vd} = {{Vd\_ old} + {\frac{k_{1}}{\sqrt{k_{1}^{2} + k_{2}^{2}}}{V}}}}} & (52) \\ {\left\lbrack {{Equation}\quad 53} \right\rbrack {{Vq} = {{Vq\_ old} + {\frac{k_{2}}{\sqrt{k_{1}^{2} + k_{2}^{2}}}{V}}}}} & (53) \end{matrix}$

[0089] Thus, as has been described heretofore, it is easy to reflect the results of the current feedback only to the directions represented by the linear combination of the d axis voltage and the q axis voltage. Then, in the event that the current feedback is implemented relative to the two or more directions which are not parallel to each other, the d axis current and the q axis current can be controlled on arbitrary points on the plane of the dq coordinates.

[0090] A method will be described below for calculating the sine reference value (Vs{circumflex over ( )}) and the cosine reference value (Vc{circumflex over ( )}) when the current feedback control is carried out relative to each of n directions (n≧2) from v1 to vn in different control cycles.

[0091] In a case where the respective directions (v1 to vn) are represented by the linear combination of the d axis voltage (Vd) and the q axis voltage (Vq) from the following equation (54), the following equation (55) is established from the equation (31) above relative to an arbitrary j (1≦j≦n). $\begin{matrix} {\left\lbrack {{Equation}\quad 54} \right\rbrack {\begin{pmatrix} v_{1} \\ v_{2} \\ \vdots \\ v_{n} \end{pmatrix} = {\begin{pmatrix} k_{11} & k_{12} \\ k_{21} & k_{22} \\ \vdots & \quad \\ k_{n1} & k_{n2} \end{pmatrix}\begin{pmatrix} {Vd} \\ {Vq} \end{pmatrix}}}} & (54) \\ {\left\lbrack {{Equation}\quad 55} \right\rbrack {{{d}{\hat{I}(j)}} = {{\frac{{dv}(j)}{\sqrt{{kj}_{1}^{2} + {kj}_{2}^{2}}}\begin{pmatrix} {kj}_{2} & {kj}_{1} & {kj}_{1} \\ {kj}_{1} & {- {kj}_{2}} & {kj}_{2} \end{pmatrix}\begin{pmatrix} {L_{1}\sin \quad 2\quad {\theta e}} \\ {L_{1}\cos \quad 2\quad {\theta e}} \\ L_{0} \end{pmatrix}} \equiv {{\hat{c}(j)}\begin{pmatrix} {L_{1}\sin \quad 2\quad {\theta e}} \\ {L_{1}\cos \quad 2\quad {\theta e}} \\ L_{0} \end{pmatrix}}}}} & (55) \end{matrix}$

[0092] where, dv(j) in the equation (55) is expressed by the following equation (56). $\begin{matrix} {\left\lbrack {{Equation}\quad 56} \right\rbrack {{{dv}(j)} = {\frac{1}{\sqrt{{kj}_{1}^{2} + {kj}_{2}^{2}}}\begin{pmatrix} {kj}_{1} & {kj}_{2} \end{pmatrix}\begin{pmatrix} {{Vd\_ new} - {Vd\_ old}} \\ {{Vq\_ new} - {Vq\_ old}} \end{pmatrix}}}} & (56) \end{matrix}$

[0093] Consequently, when arranging the equarion (56) above relative to the respective direction (v1 to vn), the following equation (57) is obtained, and by rearranging the equation (57), the following equation (58) is obtained. $\begin{matrix} {\left\lbrack {{Equation}\quad 57} \right\rbrack {{\begin{pmatrix} \begin{matrix} \begin{matrix} \begin{matrix} {\hat{C}(1)} \\ \vdots \end{matrix} \\ {\hat{C}(j)} \end{matrix} \\ \vdots \end{matrix} \\ {\hat{C}(n)} \end{pmatrix}\begin{pmatrix} \begin{matrix} {L_{1}\quad \sin \quad 2\quad \theta \quad e} \\ {L_{1}\quad \cos \quad 2\quad \theta \quad e} \end{matrix} \\ {Lo} \end{pmatrix}} \equiv {\overset{\sim}{C}\quad \begin{pmatrix} \begin{matrix} {L_{1}\quad \sin \quad 2\quad \theta \quad e} \\ {L_{1}\quad \cos \quad 2\quad \theta \quad e} \end{matrix} \\ {Lo} \end{pmatrix}\begin{pmatrix} \begin{matrix} \begin{matrix} \begin{matrix} {{d}{{\hat{I}(1)}/{{v(1)}}}} \\ \vdots \end{matrix} \\ {{{{\hat{I}(j)}}}/{{v(j)}}} \end{matrix} \\ \vdots \end{matrix} \\ {{d}{{\hat{I}(n)}/{{v(n)}}}} \end{pmatrix}}}} & (57) \\ {\left\lbrack {{Equation}\quad 58} \right\rbrack {\begin{pmatrix} \begin{matrix} {\hat{V}}_{S} \\ {\hat{V}}_{C} \end{matrix} \\ {\hat{V}\quad i} \end{pmatrix} = {\begin{pmatrix} \begin{matrix} {L_{1}\quad \sin \quad 2\quad \theta \quad e} \\ {L_{1}\quad \cos \quad 2\quad \theta \quad e} \end{matrix} \\ {Lo} \end{pmatrix} = {{\left( {{\overset{\sim}{C}}^{1}\overset{\sim}{C}} \right)^{- 1}{{\overset{\sim}{C}}^{t}\begin{pmatrix} \begin{matrix} \begin{matrix} \begin{matrix} {{d}{{\hat{I}(1)}/{{v(1)}}}} \\ \vdots \end{matrix} \\ {{{{\hat{I}(j)}}}/{{v(j)}}} \end{matrix} \\ \vdots \end{matrix} \\ {{d}{{\hat{I}(n)}/{{v(n)}}}} \end{pmatrix}}} \equiv {\overset{\sim}{D}\quad \begin{pmatrix} \begin{matrix} \begin{matrix} \begin{matrix} {{d}{{\hat{I}(1)}/{{v(1)}}}} \\ \vdots \end{matrix} \\ {{{{\hat{I}(j)}}}/{{v(j)}}} \end{matrix} \\ \vdots \end{matrix} \\ {{d}{{\hat{I}(n)}/{{v(n)}}}} \end{pmatrix}}}}}} & (58) \end{matrix}$

[0094] Then, by substituting 2^(nd) order differences d d I{circumflex over ( )}(1) to d d I{circumflex over ( )}(n) of the d axis actual current and the q axis current and variations dv(1) to dv(n) of the d axis voltage and the q axis voltage when implementing the current feedback control relative to the respective directions (v1 to vn) in the different control cycles in the equation (58), the sine reference value (Vs{circumflex over ( )}) and the cosine reference value (Vc{circumflex over ( )}) can be calculated.

[0095] For example, in the event that the unidirectional feedback control according to the invention is implemented relative to two directions, when selecting another two directions represented by the following equation (59) in addition to the aforesaid axial directions of the d axis voltage and the q axis voltage, matrices C⁻ and D⁻ in the equation (58) above are expressed by the following equations (60), (61), respectively. $\begin{matrix} {\left\lbrack {{Equation}\quad 59} \right\rbrack {\begin{pmatrix} {v1} \\ {v2} \end{pmatrix} = {\begin{pmatrix} 1 & 1 \\ 1 & {- 1} \end{pmatrix}\begin{pmatrix} {Vd} \\ {Vq} \end{pmatrix}}}} & (59) \\ {\left\lbrack {{Equation}\quad 60} \right\rbrack {\overset{\sim}{C} = \left\lceil \begin{matrix} 1 & 1 & 1 \\ 1 & {- 1} & 1 \\ {- 1} & 1 & 1 \\ 1 & 1 & {- 1} \end{matrix} \right\rceil}} & (60) \\ {\left\lbrack {{Equation}\quad 61} \right\rbrack {\overset{\sim}{D} = {\frac{1}{\sqrt{2}}\begin{pmatrix} 0.25 & 0.25 & {- 0.25} & 0.25 \\ 0.25 & {- 0.25} & 0.25 & 0.25 \\ 0.25 & 0.25 & 0.25 & {- 0.25} \end{pmatrix}}}} & (61) \end{matrix}$

[0096] In addition, in the event that the unidirectional feedback control is implemented relative to three directions expressed by the following equation (62), the matrices C⁻ and D⁻ in the equation (58) above are expressed by the following equations (63), (64), respectively. $\begin{matrix} {\left\lbrack {{Equation}\quad 62} \right\rbrack {\begin{pmatrix} {v1} \\ {v2} \\ {v3} \end{pmatrix} = {\begin{pmatrix} 1 & 0 \\ 1 & 1 \\ 0 & 1 \end{pmatrix}\begin{pmatrix} {Vd} \\ {Vq} \end{pmatrix}}}} & (62) \\ {\left\lbrack {{Equation}\quad 63} \right\rbrack {\overset{\sim}{C} = \left\lceil \begin{matrix} 0 & 1 & 1 \\ 1 & 0 & 0 \\ 1 & 1 & 1 \\ 1 & {- 1} & 1 \\ 1 & 0 & 0 \\ 0 & {- 1} & 1 \end{matrix} \right\rceil}} & (63) \\ {\left\lbrack {{Equation}\quad 64} \right\rbrack {\overset{\sim}{D} = \begin{pmatrix} {- \frac{1}{6}} & \frac{1}{3} & \frac{1}{6} & \frac{1}{6} & \frac{1}{3} & {- \frac{1}{6}} \\ \frac{\sqrt{2}}{8} & 0 & \frac{\sqrt{2}}{8} & {- \frac{\sqrt{2}}{8}} & 0 & {+ \frac{\sqrt{2}}{8}} \\ \frac{1}{3} & {- \frac{1}{6}} & \frac{1}{6} & \frac{1}{6} & {- \frac{1}{6}} & \frac{1}{3} \end{pmatrix}}} & (64) \end{matrix}$

[0097] Note that there is a possibility that depending on electrical or mechanical parameters of the motor 1, sufficient variations for calculation of the sine reference value (Vs) and the cosine reference value (Vc) cannot be generated only by the response of the current feedback system. In this case, a certain means needs to be devised to deal with the problem. For example, random numbers are added to the d axis command current (Id_c) and q axis command current (Iq_c) or the control cycle (ΔT) is made longer, so that sufficient d axis actual current (Id_s) and q axis actual current (Iq_s) variations can be generated. 

What is claimed is:
 1. A DC brushless motor controller which handles a DC brushless motor by converting the DC brushless motor to an equivalent circuit having a q-axis armature which resides on a q-axis which constitutes a direction of magnetic flux of a field of the motor and a d-axis armature which resides on a d-axis which intersects with the q-axis at right angles, the controller comprising: a current detecting unit for detecting current which flows to the armatures of the motor; a dq actual current calculating unit for calculating a q axis actual current which flows to the q axis armature and a d axis actual current which flows to the d axis armature based on a current value detected by the current detecting unit and a rotor angle of the motor; and an energizing control unit for feedback controlling the amount of electrical energy supplied to the armatures of the motor by generating a d axis voltage applied to the d axis armature and a q axis voltage applied to the q axis armature in such a manner as to reduce a q axis current deviation which is a deviation between a q axis command current which is a command value of current flowing to the q axis armature and the q axis actual current and a d axis current deviation which is a deviation between a d axis command current which is a command value of current flowing to the d axis armature and the d axis actual current, the energizing control unit including a reference values calculating unit for feedback controlling the amount of electrical energy supplied to the armatures of the motor in a predetermined control cycle, implementing a unidirectional feedback control which generates a d axis voltage and a q axis voltage in the current control cycle using the d axis actual current and the q axis actual current which are calculated based on an estimate value (θ′) of the rotor angle of the motor by the dq actual current calculating unit relative to each of two or more directions which are represented by a linear combination of unit vectors of respective coordinate axes in an orthogonal coordinates system in which the d axis voltage and the q axis voltage constitute coordinate axes thereof and which are not parallel to each other in different control cycles in such a manner that the size of a vector in which the d axis voltage and the q axis voltage which were generated in the previous control cycle constitute components of the vector increases or decreases along the two or more directions according to the d axis current deviation and the q axis current deviation when the vector is projected in the two or more directions, and calculating a sine reference value which corresponds to a sine value of an angle which is twice a phase difference (θ−θ′) between an actual value (θ) and an estimate value (θ′) of the rotor angle of the motor and a cosine reference value which corresponds to a cosine value of the angle which is twice the phase difference (θ−θ′) based on variations of the d axis actual current and the q axis actual current and levels of the d axis voltage and the q axis voltage in a control cycle in which the unidirectional feedback control is implemented to each of the two or more directions, and a rotor angle detecting unit for detecting a rotor angle of the motor based on the sine reference value and the cosine reference value so calculated.
 2. A DC brushless motor controller as set forth in claim 1, wherein the two or more directions are two coordinate axes directions of the orthogonal coordinates system in which the d axis voltage and the q axis voltage constitute coordinate axes thereof.
 3. A DC brushless motor controller as set forth in claim 2, wherein the rotor angle detecting unit calculates the sine reference value and the cosine reference value by the following equations (1) to (7), [Equation 1] $\begin{matrix} {\begin{pmatrix} \begin{matrix} {\hat{V}\quad s} \\ {\hat{V}\quad c} \end{matrix} \\ {\hat{V}\quad l} \end{pmatrix} = {\begin{pmatrix} \begin{matrix} {L_{1}\quad \sin \quad 2\quad \theta \quad e} \\ {L_{1}\quad \cos \quad 2\quad \theta \quad e} \end{matrix} \\ {Lo} \end{pmatrix} = {{\left( {{\overset{\sim}{C}}^{t}\overset{\sim}{C}} \right)^{- 1}{C^{1}\begin{pmatrix} \frac{{d}{\hat{I}\left( i_{1} \right)}}{{\hat{V}}\quad {d\left( i_{1} \right)}} \\ \frac{{d}{\hat{I}\left( i_{2} \right)}}{{\hat{V}}\quad {q\left( i_{2} \right)}} \end{pmatrix}}} \equiv {\overset{\sim}{D}\quad \begin{pmatrix} \frac{{d}{\hat{I}\left( i_{1} \right)}}{{\hat{V}}\quad {d\left( i_{1} \right)}} \\ \frac{{d}{\hat{I}\left( i_{2} \right)}}{{\hat{V}}\quad {q\left( i_{2} \right)}} \end{pmatrix}}}}} & (1) \\ {\left\lbrack {{Equation}\quad 2} \right\rbrack {L_{1} = {\frac{1}{2}\left( {\frac{1}{Ld} - \frac{1}{Lq}} \right)}}} & (2) \\ {\left\lbrack {{Equation}\quad 3} \right\rbrack {L_{o} = {\frac{1}{2}\left( {\frac{1}{Ld} - \frac{1}{Lq}} \right)}}} & (3) \\ {\left\lbrack {{Equation}\quad 4} \right\rbrack {\overset{\sim}{C} = \begin{pmatrix} 0 & 1 & 1 \\ 1 & 0 & 0 \\ 1 & 0 & 0 \\ 0 & {- 1} & 1 \end{pmatrix}}} & (4) \\ {\left\lbrack {{Equation}\quad 5} \right\rbrack \begin{matrix} {{d\quad d\quad \hat{I}\quad {d(i)}} = \begin{pmatrix} {\frac{\Delta \quad \hat{I}\quad {d\left( {i + 1} \right)}}{\Delta \quad T} - \frac{\Delta \quad \hat{I}\quad {d(i)}}{\Delta \quad T}} \\ {\frac{\Delta \quad \hat{I}\quad {q\left( {i + 1} \right)}}{\Delta \quad T} - \frac{\Delta \quad \hat{I}\quad {q(i)}}{\Delta \quad T}} \end{pmatrix}} \\ {= \begin{pmatrix} {\frac{\quad {{\hat{I}\quad {d\left( {i + 2} \right)}} - {\hat{I}\quad {d\left( {i + 1} \right)}}}}{\Delta \quad T} - \frac{\quad {{\hat{I}\quad {d\left( {i + 1} \right)}} - {\hat{I}\quad {d(i)}}}}{\Delta \quad T}} \\ {\frac{\quad {{\hat{I}\quad {q\left( {i + 2} \right)}} - {\hat{I}\quad {q\left( {i + 1} \right)}}}}{\Delta \quad T} - \frac{\quad {{\hat{I}\quad {q\left( {i + 1} \right)}} - {\hat{I}\quad {q(i)}}}}{\Delta \quad T}} \end{pmatrix}} \end{matrix}} & (5) \\ {\left\lbrack {{Equation}\quad 6} \right\rbrack {{d\quad \hat{V}\quad {d(i)}} = {{\hat{V}\quad {d\left( {i + 1} \right)}} - {\hat{V}\quad {d(i)}}}}} & (6) \\ {\left\lbrack {{Equation}\quad 7} \right\rbrack {{d\quad \hat{V}\quad {q(i)}} = {{\hat{V}\quad {q\left( {i + 1} \right)}} - {\hat{V}\quad {q(i)}}}}} & (7) \end{matrix}$

where, Vs{circumflex over ( )}: sine reference value, Vc{circumflex over ( )}: cosine reference value, i₁: control cycle in which the unidirectional feedback control is implemented relative to the d axis; i₂: control cycle in which the unidirectional feedback control is implemented relative to the q axis; Ld: inductance of the d axis armature; Lq: inductance of the q axis armature; ΔT: control cycle time; ΔId{circumflex over ( )}(i) variation of the d axis actual current in a control cycle i; ΔIq{circumflex over ( )}(i): variation of the q axis actual current in the control cycle i; Id{circumflex over ( )}(i): the d axis actual current in a control cycle i; Iq{circumflex over ( )}(i): the q axis actual current in the control cycle i; dVd{circumflex over ( )}(i): variation of the d axis voltage in the control cycle i; Vd{circumflex over ( )}(i): d axis voltage in the control cycle i; dVq{circumflex over ( )}(i) variation of the q axis voltage in the control cycle i; Vq{circumflex over ( )}(i): q axis voltage in the control i.
 4. A DC brushless motor controller as set forth in claim 3, wherein data of components of a matrix D⁻ in the equation (1) are stored in a memory in advance, and wherein the rotor angle detecting unit executes an operation of the equation (1) using the data of the components of the matrix D⁻ stored in the memory. 